package dk.dashboardFP.panels.introspectionPanel {
	import flash.events.MouseEvent;

	/**
	 * @author josef
	 */
	public class DCIntrospectionNodeView extends IntrospectionNodeView {
		public function DCIntrospectionNodeView(oIntrospectionNode : IntrospectionNode, parentWidth : Number=250) {
			super(oIntrospectionNode, parentWidth);
		}
		
		//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
		// setup
		//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

		override protected function setupElements() : void {
			super.setupElements();
		}
		
		//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
		// rollover out
		//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

		override protected function onOver(event : MouseEvent) : void {
			super.onOver(event);
			dispatchEvent(new IntrospectionNodeViewEvent(IntrospectionNodeViewEvent.DISPLAY_OBJECT_MARK, null, true));
		}

		override protected function onOut(event : MouseEvent) : void {
			dispatchEvent(new IntrospectionNodeViewEvent(IntrospectionNodeViewEvent.DISPLAY_OBJECT_MARK_REMOVE, null, true));
			super.onOut(event);
		}

		override protected function onLabelClick(event : MouseEvent) : void {
			super.onLabelClick(event);
			dispatchEvent(new IntrospectionNodeViewEvent(IntrospectionNodeViewEvent.DISPLAY_OBJECT_SELECT, event.shiftKey, true));
		}

		//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
		// factory
		//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

		override protected function getSubNode(oIN : IntrospectionNode, width : Number) : IntrospectionNodeView {
			return new DCIntrospectionNodeView(oIN, width);
		}
	}
}
